home *** CD-ROM | disk | FTP | other *** search
/ Animation How-To / Animation How-to CD.iso / PLY / CHAPTER4 / THREAD / THREAD.BAS < prev    next >
BASIC Source File  |  1994-01-01  |  2KB  |  62 lines

  1. ' THREAD.BAS  - Twisting Ribbon Creation code
  2.  
  3. OPEN "thread.inc" FOR OUTPUT AS #1
  4.  
  5. FOR p1 = 0 TO 23
  6. FOR p2 = 0 TO 3
  7.    var$ = RIGHT$("00" + LTRIM$(STR$(p1)), 2) + RIGHT$("00" + LTRIM$(STR$(p2)), 2)
  8.    PRINT #1, USING "define pch\  \ rotate(p# + <r, ang*thread, 0>,<0, ang, 0>)"; var$; p2 MOD 4 + 1
  9. NEXT p2
  10.  
  11. PRINT #1,
  12. PRINT #1, "static define ang ang+15"
  13. PRINT #1,
  14.  
  15. FOR p2 = 4 TO 7
  16.    var$ = RIGHT$("00" + LTRIM$(STR$(p1)), 2) + RIGHT$("00" + LTRIM$(STR$(p2)), 2)
  17.    PRINT #1, USING "static define pch\  \ rotate(p# + <r, ang*thread, 0>,<0, ang, 0>)"; var$; p2 MOD 4 + 1
  18.    PRINT #1, USING "define pcha\  \ [pch\  \]"; var$; var$
  19.    PRINT #1, USING "define addl\  \ <pcha\  \[0][0]*offs,0,pcha\  \[0][2]*offs>"; var$; var$; var$
  20.    PRINT #1, USING "static define pch\  \ pch\  \+addl\  \"; var$; var$; var$
  21. NEXT p2
  22.  
  23. PRINT #1,
  24. PRINT #1, "static define ang ang+15"
  25. PRINT #1,
  26.  
  27. FOR p2 = 8 TO 11
  28.    var$ = RIGHT$("00" + LTRIM$(STR$(p1)), 2) + RIGHT$("00" + LTRIM$(STR$(p2)), 2)
  29.    PRINT #1, USING "static define pch\  \ rotate(p# + <r, ang*thread, 0>,<0, ang, 0>)"; var$; p2 MOD 4 + 1
  30.    PRINT #1, USING "define pcha\  \ [pch\  \]"; var$; var$
  31.    PRINT #1, USING "define addl\  \ <pcha\  \[0][0]*offs,0,pcha\  \[0][2]*offs>"; var$; var$; var$
  32.    PRINT #1, USING "static define pch\  \ pch\  \+addl\  \"; var$; var$; var$
  33. NEXT p2
  34.  
  35. PRINT #1,
  36. PRINT #1, "static define ang ang+15"
  37. PRINT #1,
  38.  
  39. FOR p2 = 12 TO 15
  40.    var$ = RIGHT$("00" + LTRIM$(STR$(p1)), 2) + RIGHT$("00" + LTRIM$(STR$(p2)), 2)
  41.    PRINT #1, USING "define pch\  \ rotate(p# + <r, ang*thread, 0>,<0, ang, 0>)"; var$; p2 MOD 4 + 1
  42. NEXT p2
  43.  
  44. NEXT p1
  45.  
  46. FOR p1 = 0 TO 23
  47. PRINT #1, "object {"
  48. PRINT #1, "   bezier 2, detail, 10, 10,"
  49.    FOR p2 = 0 TO 15
  50.       var$ = "pch" + RIGHT$("00" + LTRIM$(STR$(p1)), 2) + RIGHT$("00" + LTRIM$(STR$(p2)), 2)
  51.       PRINT #1, var$;
  52.       IF p2 < 15 THEN PRINT #1, ",";
  53.    NEXT p2
  54.    PRINT #1, "   reflective_coral"
  55.    PRINT #1, "}";
  56.    PRINT #1,
  57.  
  58. NEXT p1
  59.  
  60. CLOSE #1
  61.  
  62.